A computer network is a collection of interconnected computing devices that can exchange data and share resources. In a packet-based network, such as the Internet, the computing devices communicate data by dividing the data into small blocks called packets, which are individually routed across the network from a source device to a destination device. The destination device extracts the data from the packets and assembles the data into its original form. Dividing the data into packets enables the source device to resend only those individual packets that may be lost during transmission.
Certain devices, referred to as routers, maintain routing information that describes routes through the network. A “route” can generally be defined as a path between two locations on the network. Upon receiving an incoming packet, the router examines information within the packet to identify the destination for the packet. Based on the destination, the router forwards the packet in accordance with the routing information.
The physical connection between devices within the network is generally referred to as a link. In order to increase efficiencies, a single link may “channelized” to carry multiple data streams. Specifically, the available bandwidth of the link may be segmented into multiple channels. These channels may be further channelized into smaller channels, also referred to as sub-channels. The smallest accessible bandwidth portion is often referred to as a timeslot, and is typically 64 kilobits per second (kbps) referred to as DS0. The following table illustrates conventional channelization of link bandwidth:
TABLE 1T124 * DS0E132 * DS0T3/DS328 * DS0E321 * E1OC363 * E1 or 3 * E3OC384 * T1 or 3 * T3OC124 * OC3 or 12 * DS3OC484 * OC12OC1924 * OC48OC7684 * OC192
In this fashion, telecommunication carriers can offer links having a wide variety of bandwidth to the end user. For example, an individual user may access the network using a relatively low-bandwidth channel having one or more DS0s, such as a digital subscriber line (DSL), integrated services digital network (ISDN) connection, or the like. Small to medium size corporations, however, may require more bandwidth as provided by a T1 channel or an E1 channel. Large organizations may require significant bandwidths provided by a T3 channel. The higher order channels are typically used between telecommunications carriers, Internet Service Providers, and the like.
One drawback of channelized links is that each channel requires a physical interface and a channel service unit/digital service unit (CSU/DSU) or similar device to convert between the serial interface of the channel to the transmission technology of the telecommunication carrier. As the number of channels increases, these devices can consume significant rack space, and the myriad of cables can become difficult to manage.
Recently, routers have been developed that directly support channelized data streams, thereby eliminating the need for CSU/DSUs and complex cabling. In this manner, a router may aggregate channels having a wide variety of bandwidth, and channels from a wide variety of end users, such as remote individuals, branches, and organizations.
In order to support channelized data streams, a system administrator or other user must configure the router by specifying how a particular link is to be channelized. In particular, the administrator must specify the various channels, and the bandwidth allocation for each channel. In addition, each channel may have particular configuration options, such as clocking and timing requirements, loopback options, path and mapping options, and the like. As the level of channelization increases for a given link, configuring the router itself can become a complex task for the administrator.
Conventional routers typically support a text-based interface in which the administrator enters configuration input that describes the channelization of the network link in a continuous, nested format. The following illustrates example configuration input conforming to a format supported by a conventional router. In particular, the following illustrates configuration of a channelized DS3 link having a number of T1 channels that are further partitioned into DS0 channel:
interface oc12-1/1/1{interface ds3-1/1/1:0{. . .ds3 configuration data. . .interface t1-1/1/1:0:0{. . .t1 configuration data. . .interface ds0-1/1/1:0:0:0{. . .ds0 configuration data. . .}interface ds0-1/1/1:0:0:1{. . .ds0 configuration data. . .}. . . etc . . .}}interface ds3-1/1/1:1{. . .ds3 configuration data. . .interface t1-1/1/1:1:0{. . .t1 configuration data. . .interface ds0-1/1/1:1:0:0{. . .ds0 configuration data. . .}}}}
In this manner, the administrator describes the channelization of the network in a continuous, nested format. As the level of channelization increases, this technique can become unwieldy for a human administrator. For example, as the complexity of the channelization supported by the router increases, the level of nesting increases and configuration data may begin wrapping or clipping within the display viewed by the administrator. In addition, the channelization generally becomes difficult to follow as the complexity of the channelization increases. The configuration input relating to a higher-bandwidth channel, such as the D3 channel above, may be incredibly lengthy. As a result, the administrator may need to scroll the display considerably to determine the configuration of a particular channel.